Network traffic management mechanisms are typically deployed to mediate data communications between remote client devices and one or more server devices. Depending on the features of the protocol governing the communication, various optimizations may be achieved by a traffic management device or another intermediate network device. For example, some protocols support persistent client connections, in which a client can make multiple requests, and receive multiple responses, on the same network connection. Employing multiple requests on the same connection may be economical because it reduces the setup and teardown time associated with the underlying transport protocol. The traffic management device may then allocate the multiple requests to different backend servers for various purposes, such as load balancing. This process is known as connection splitting or connection multiplexing. In some protocols, the responses from the multiple backend servers to the external client connection must be sent back in order by the traffic management device.
A traffic management device may also be employed for connection aggregation, in which requests from multiple clients are allocated to the same backend server connection. Connection aggregation achieves economies on the backend connection and generally enables a set of servers to scalably handle a larger number of client requests.
Many protocols may be susceptible to some form of connection splitting and/or connection aggregation by an intermediate network device managing transactions that conform to the requirements of those protocols. This may enable clients and/or backend servers to be used more efficiently or scalably. However, traffic management devices have generally not been designed to be adaptable by users or administrators of the devices to support such services for arbitrary protocols, including foreign protocols that the device is not pre-configured to natively support, and including proprietary protocols or protocols for which limited information is available to the user.